﻿namespace My.Hydrator.Configuration
{
    using System.ComponentModel.DataAnnotations;

    public class ConfigurationExpression
    {
        public TypeExpression<TType> For<TType>()
        {
            return new TypeExpression<TType>(this);
        }

        public EnumerableExpression<TType> ForList<TType>()
        {
            return new EnumerableExpression<TType>(this);
        }

        public DictionaryExpression<TKeyType, TValueType> ForDictionary<TKeyType, TValueType>()
        {
            return new DictionaryExpression<TKeyType, TValueType>(this);
        }

        public DataTypeExpression For(DataType dataType)
        {
            return new DataTypeExpression(dataType);
        }

        public DataTypeExpression For(string customDataType)
        {
            return new DataTypeExpression(customDataType);
        }
    }
}
